System and method for customizing electronic messages

ABSTRACT

A plug-in is provided to existing electronic message programs, such as electronic mail message programs, to provide a virtual toolbar therein. The virtual toolbar includes one or more virtual buttons that allow a user to select multimedia content to be added to an electronic message. The multimedia content may include, without limitation, any one or more of: graphics, audio, animation, video and text selections. The multimedia content may further include customizable templates in which business messages may be generated. The virtual buttons may be each be assigned to one category of related content, such as Backgrounds for providing graphic backgrounds to a message, Holiday Themes for providing multimedia content associated with particular holidays, Animations for including FLASH animations or the like to a message, and Text for including pre-formatted text to a message. The content, appearance and number of virtual buttons may automatically be changed or updated by a content provider from time to time when the installed plug-in accesses a content server over a computer network, such as the Internet.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority under 35 U.S.C. §120 as a continuation-in-part to co-pending U.S. patent application Ser. No. 09/864,551 entitled SYSTEM AND METHOD FOR THE DYNAMIC IMPROVEMENT OF INTERNET BROWSER NAVIGABILITY filed in the name of Dobronsky et al. on May 23, 2001 which is a continuation in part of co-pending U.S. patent application Ser. No. 09/373,815 entitled SYSTEM AND METHOD FOR THE DYNAMIC IMPROVEMENT OF INTERNET BROWSER APPEARANCE AND CONNECTIVITY filed in the name of Dobronsky et al. on Aug. 13, 1999, each of which are incorporated herein by reference.

FIELD OF THE INVENTION

[0002] The present invention relates generally to electronic computers and digital processing systems for multiple computer or process coordinating, and relates more particularly to demand based messaging.

BACKGROUND OF THE INVENTION

[0003] Electronic message programs are widely used around the world to send electronic messages over a computer network between two or more users having computer terminals at separate locations. Such electronic message programs include electronic mail (e-mail) programs and instant messaging programs. Common existing e-mail programs include Outlook® and Outlook Express® developed by Microsoft Corp.®, or LotusNotes® developed by IBM Corporation®, which are collectively used by tens of millions of computer users worldwide.

[0004] At present, electronic messages largely have plain, static backgrounds over which text is inserted. Some existing electronic messaging programs do provide limited functionality to modify the backgrounds of electronic messages. For example, a system for embedding backgrounds into electronic messages is disclosed in PCT Publication No. WO 02/08852 filed in the name of INCREDIMAIL. Some electronic message program developers also currently provide their software upgrades for including additional backgrounds to their program's existing options. However, such developer-provided content is typically limited in the number of available choices for content, is not customizable to a particular user, requires that the content be stored locally on a user's terminal, and/or requires the download and use of a program instead of common e-mail programs.

[0005] Accordingly, there is a need for a method and apparatus for customizing electronic messages that addresses certain shortcomings in existing technologies.

SUMMARY OF THE INVENTION

[0006] Here are disclosed various systems and methods for customizing electronic messages wherein a user may upload and install executable code for providing a virtual toolbar within an existing electronic message program. In certain embodiments, the executable code may be provided as a plug-in to the electronic message program. After installing the executable code, the user is presented with the virtual toolbar when the electronic message program, or a new electronic message within the program, is opened. The virtual toolbar may be disposed separately from a native toolbar of the electronic message program. In certain embodiments, the virtual toolbar may be disposed between a native toolbar and a message input window of the electronic message program. The virtual toolbar may include a plurality of virtual buttons for selecting different content, or categories of content, that can be included within an electronic message.

[0007] Upon selecting a virtual button, a separate window may be displayed to the user that includes a plurality of selectable content associated with the virtual button. The window may additionally include listings of one or more subcategories of associated content. Available content may include holiday-themed content, visual images such as artwork and photography, animations, audio content, audio/visual content, and business-formatted content. Sub-categories may include any generic group of content, such as animal scenes, nature scenes, world landmarks, and so forth.

[0008] The selectable content may be stored locally on a central content server and may therefore be updated without having to update a plurality of plug-ins stored on a plurality of users' computer terminals. In certain embodiments, the content may not be permanently stored on a user's computer terminal at all. Instead, the virtual buttons provided by the plug-in may contain a link to a page stored on the central content server. Accordingly, only the page need be updated to update available content. The central content server may also change attributes of the virtual toolbar or the virtual buttons whenever the plug-in is activated and accesses the central content server over a computer network.

[0009] The user may select particular content from the displayed list or lists for inclusion in an electronic message, and may also input text to the message in a standard manner. A user may select content as default content for inclusion in future electronic messages, if the user desires. In such case, the selection of default content may be stored locally at the user's computer terminal or at the central content server, or a combination of both.

[0010] When an electronic message with selected or default content is transmitted to another user, the message may simply contain any user-inputted text and a call to a network address location of the content on the central content server, rather than a data file containing the content itself, in order to conserve the data size of the electronic message. When the second user opens a received electronic message with the call, the content is generally transmitted from the central content server for display when the received electronic message is opened or may also be embedded in the e-mail transmitted. The second user is not required to have the plug-in to receive or view the content selected by the first user.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Further aspects of the present disclosure will be more readily appreciated upon review of the detailed description of the preferred embodiments, included below, when taken in conjunction with the accompanying drawings, of which:

[0012]FIG. 1 is a schematic diagram of an exemplary computer network;

[0013]FIG. 2 is a schematic diagram of the plug-in and content server of FIG. 1, according to certain embodiments of the present disclosure;

[0014]FIG. 3 is a flowchart depicting a process for creating customized electronic mail messages using the plug-in, according to certain embodiments of the present disclosure;

[0015]FIG. 4 is an illustration of a prior art main window of an exemplary electronic message program, which may be displayed on the user terminal of FIG. 1 prior to installation of the plug-in;

[0016]FIG. 5 is an illustration of a prior art electronic message window of an exemplary electronic message program, which may be displayed on the user terminal of FIG. 1 prior to installation of the plug-in;

[0017]FIG. 6 is an illustration of a main window of an electronic message program including an exemplary virtual toolbar for inserting content into an electronic message, which toolbar may be displayed on the user terminal of FIG. 1 after installation of the plug-in, according to certain embodiments of the present disclosure;

[0018]FIG. 7 is an illustration of a first exemplary content window displaying available content and sub-categories of content associated with a virtual button of the virtual toolbar of FIG. 6, according to certain embodiments of the present disclosure;

[0019]FIG. 8 is an illustration of a second exemplary content window displaying available content, according to certain embodiments of the present disclosure;

[0020]FIG. 9 is an illustration of a message window of an electronic message program including an exemplary virtual toolbar for inserting content into an electronic message, which may be displayed on the user terminal of FIG. 1 after installation of the plug-in according to certain embodiments of the present disclosure;

[0021]FIG. 10 is an illustration of a message window of an electronic message program including exemplary content selected from the virtual toolbar, according to certain embodiments of the present disclosure;

[0022]FIG. 11 is an illustration of a message window of an electronic message program including exemplary inputted text over the content selected from the virtual toolbar, according to certain embodiments of the present invention; and

[0023]FIG. 12 is an illustration of a message window of an electronic message program including customized business content selected from the virtual toolbar, according to certain embodiments of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

[0024] Referring now to FIGS. 1-12, wherein similar components of the present invention are referenced in like manner, preferred embodiments of a method and system for customizing electronic messages are disclosed.

[0025] Turning now to FIG. 1, there is depicted an exemplary network 100 over which certain embodiments of the present disclosure may be practiced. The network 100 may be any known computer, electronic, optical, telecommunications, wireless or satellite network, or any combination of these elements, useful for accomplishing data transmissions between, for example, two users at separate computer terminals. In certain embodiments, the network 100 may be a local-area computer network or wide-area computer network, a corporate Intranet, a public computer network such as the Internet or World-Wide Web, any other comparable computer networks, or any combination of the same.

[0026] In those embodiments involving multiple users in electronic communication over a commonly-accessible computer network, the network 100 may include a plurality of user terminals 104 in two-way communication with each other and with a central Plug-In and Content Server 102 (sometimes referred to herein as “content server 102”), via at least one network routing device 106. In such embodiments, the plurality of user terminals 104 may be any one or more known computing devices, such as a personal computer or workstation equipped with a modem or other similar network communication device, as are commonly manufactured by, for example, Dell Corporation® or Gateway Corporation®. The network routing device 106 may accordingly be any one or more of the following devices: a computer server dedicated to routing communications data over a computer network, such as computer servers commonly manufactured by IBM Corporation®; and a computer network routing device or Internet router, such as those commonly manufactured by Cisco Corporation®. The Plug-in and Content Server 102 may, in such embodiments, be one or more computer servers operated by a content provider or group of content providers. The computer server(s) is/are operable, via appropriate hardware and programming, to store and communicate both: (1) executable programming code or processing instructions for installing an access to content within an existing electronic message program on a user terminal 104 and (2) content to be accessed by the user after installation of the executable programmable code. Further descriptions of an exemplary Plug-In and Content Server 102 are provided later below in conjunction with FIG. 2.

[0027] In those embodiments where the network 100 is the Internet, each of the plurality of user terminals 104 and the Plug-In and Content Server 102 may have a unique network address, such as an Internet Protocol (IP) address. A user terminal 104 may be operable to communicate calls for content from an IP address of the Plug-In and Content Server 102. The Plug-In and Content Server 102 may be operable to store the IP address or, store or generate any other type of unique identifier, corresponding to a particular user terminal 104 that has accessed and installed the executable programming code. The Plug-In and Content Server 102 may store such a unique identifier in order to, for example, associate and store any configurations or preferences for content selected by the user, as described later below.

[0028] In alternate embodiments where network 100 is not a computer network, each of the Plug-In and Content Server 102, the plurality of user terminals 104 and the network routing device 106 may be substituted with similar devices that perform similar functions in the subject network environment. For example, in a cellular telephone communications network, the plurality of user terminals 104 may be cellular telephones, content server 102 may be a server maintained by a cellular telephone communication provider, and network routing device 106 may be a wireless antenna that routes cellular communications there-between. In another example where network 100 is a satellite network, each of Plug-In and Content Server 102 and the plurality of user terminals 104 may be computers and servers as described previously, and network routing device 106 may be a satellite transmitter/receiver. Likewise, in an optical network environment, the network routing device 106 may be one or more optical communication routers. Additional examples involving alternate network embodiments will be apparent to those of ordinary skill in the art, and are readily contemplated as being within the scope of the present disclosure.

[0029] Referring now to FIG. 2, there are depicted exemplary components of a Plug-In and Content Server 102. The content server 102 may include a processor 200, such as those commonly manufactured by Intel Corporation® or Sun Microsystems Inc.®, for executing machine-readable programming code, commands or processing instructions as described herein. Content server 102 may further include one or more input/output devices 202, which may be any known devices used for communicating over the network 100, such as a modem or similar computer communication device. The input/output devices 102 may also be any known device used for inputting programming commands from an operator of the content server 102, such as a keyboard, a computer mouse, or a speech-recognition device. The input/output devices 102 may further be any known device for displaying data to an operator of content server 102, such as a computer display.

[0030] The memory 204 may be any known device (1) for storing content data, such as multimedia content 206, and (2) for storing programming code, commands or processing instructions that are executable by the processor 200, such as plug-in code 208. Accordingly, memory 204 may be any one or more of the following: a random-access memory (RAM), a read-only memory (ROM); a Metal-Oxide Semiconductor (MOS)-based storage device such as a memory chip or a hard drive; a portable computer-readable medium, such as a floppy disk, a Compact Disc-Read Only Memory (CD-ROM), a Digital Video Disc-Read Only Memory (DVD-ROM); or any other known write-once or re-writable computer-readable medium or combination thereof.

[0031] Multimedia content 206 stored by memory 204 may include data files that store content, which can be selected and inserted into an electronic message by a user. The content may be any of a variety of multimedia content readily available to current computer users, including: graphical images, scanned images, photographs, pre-formatted text, animations, audio content, audio/visual content and any combination or element thereof. Graphical images may be provided in various data formats, such as, but not limited to: GIF, .TIF, .BMP, and .JPG Animations may be provided in FLASH programming code or other similar formats. Audio content may be provided in, for example, .WAV or .MP3 formats. Audio/visual content may be of the type commonly available in .MPEG or similarly-functioning formats. The available content may be determined by a content provider maintaining the content server 102, or may alternatively include, separately or in addition thereto, content that is downloaded to the content server 102 by a user or stored locally by a user.

[0032] In certain embodiments, the plug-in code 208 stored by memory 204 provides a plug-in to an existing electronic message program on the user terminal 104. Since there are various existing electronic message programs that are already in vast world-wide use, the systems and methods disclosed herein have a greater potential to be widely adopted by users of such existing electronic message programs if a plug-in to such existing programs is provided, rather than attempting to introduce to the global market place a completely new electronic message program incorporating the systems and methods herein. The plug-in is additionally of a smaller size and thus more readily transmitted and installed than would be a completely new electronic message program.

[0033] It should be readily appreciated that content server 102 may be a single computer server, or may be any number of locally- or geographically-disperse servers that cooperate to perform the functions described herein. The executable code and data described here as stored by the content server 102 may be stored in any manner among a cooperating group of content servers 102, and may or may not be stored in the same memory 204 as depicted in FIG. 2. It should be further appreciated that the content server 102 may, in certain embodiments, be operated by a content-providing business entity, an agent of such a content provider, or any other operator who maintains the systems and performs the methods described in the present disclosure.

[0034] It should likewise be readily appreciated that the user terminals 104 mentioned previously may contain similar hardware components that were described above with respect to the content server 102.

[0035] Turning now to FIG. 3, in conjunction with particular references to FIGS. 4-11, there is depicted an exemplary process 300 for customizing an electronic message according to certain embodiments of the present disclosure. In the context of a computing network 100 as described with respect to FIGS. 1 and 2, the process 300 commences when a user operating a user terminal 104 accesses and downloads the plug-in code 208 from Plug-In and Content Server 102 (step 302). For example, the plug-in code 208 may be retrieved from a publicly accessible IP network address (i.e. a web page on a web site) over the Internet. The download of the plug-in code 208 may be requested by a user or may be automatically transmitted to a user terminal 104 upon its accessing of the content server 102.

[0036] Next, the downloaded plug-in code 208 is installed on the user terminal 104 (step 304). It may then be executed by a user, or may be provided with automatically-executing processing instructions, to reconfigure an existing electronic message program on the user terminal 104. In particular, the electronic message program may be reconfigured to display a new virtual toolbar 600 therein.

[0037] A comparison of in FIGS. 4 and 5 to FIGS. 6 and 9, respectively, will provide one example of how an electronic message program may be reconfigured by the plug-in code 208 according to step 304. A main window 400 of an existing message program of the prior art is displayed in FIG. 4. Prior to any installation of the plug-in code, the main window 400 may contain: a native menu bar 402 for accessing menus of native programming commands relating to the electronic message program, a native toolbar 404 for selecting native functions of the electronic message program; and a message pane 406 for listing, inter alia, any received electronic messages.

[0038] When a user creates a new message using the existing electronic message program, a new electronic message window 500 is generated, an example of which is displayed in FIG. 5. Prior to installation of the plug-in code 208, the electronic message window 500 may contain: a native menu bar 502, a native toolbar 504, a number of message recipient address and message subject fields 506, and a message input field 508.

[0039] After installation of the plug-in code 208, the main window 400 and the electronic message window 500 may be reconfigured by the plug-in code 208, as displayed in FIGS. 6 and 7 respectively. As shown in FIG. 6, the main window 400 has been re-configured to include a virtual toolbar 600 containing one or more virtual buttons 602, wherein when a user selects a virtual button 602, a window is presented that shows associated selectable content that is available for insertion into an electronic message.

[0040] In certain embodiments, the virtual toolbar 600 may be disposed between the native toolbar 404 and the message pane 406. The insertion of the virtual toolbar 600 at this location in the main window 400 provides a convenient and readily-accessible place for a user to select and access available content. In further embodiments, the toolbar 600 may be provided in alternate useful locations within the main window 400, or even outside the main window 400 on a user terminal's display. Nothing in FIG. 6 should be considered to limit the shape, appearance, configuration or the like of the virtual toolbar 600 or the virtual buttons 602 themselves (including the number or any attributes of the virtual buttons 602), or the particular attributes of the main window 400.

[0041] The electronic message window 500 may be similarly reconfigured as described above with respect to FIG. 6. One example of the results of such reconfiguration is shown in FIG. 9, wherein the virtual toolbar 600 is displayed to a user. In certain embodiments, the virtual toolbar 600 may be disposed between the native toolbar 504 and the message input field 508. The virtual toolbar 600 may also be disposed between the native toolbar 504 and the message recipient address and message subject fields 506. The insertion of the virtual toolbar 600 at such locations in the electronic message window 500 provides a convenient and readily-accessible place for a user to select and access available content

[0042] In further embodiments, the virtual toolbar 600 may be provided in alternate useful locations within the electronic message window 500, or outside the electronic message window 500 on a user terminal's display. Nothing in FIG, 9 should be considered to limit the shape, appearance, configuration or the like of the virtual toolbar 600 or the virtual buttons 602 themselves (including the number or any attributes of the virtual buttons 602), or the particular attributes of the electronic message window 500.

[0043] The manner in which such reconfigurations of the main window 400 and the electronic message window 500 are achieved is largely dependent on the existing electronic message programs being used by a user terminal 104. For example, where the existing electronic message program is any of the various versions of Microsoft® Outlook®, such reconfiguration may be accomplished in accordance with the _IDTExtensibility2 interface implementation published by Microsoft®. A Common Object Module (COM) object is registered by the plug-in code 208 with the Outlook® program. The COM object generates a call including a bootstrap parameter that enables recognition by the Outlook® program for certain plug-in code relating to the attributes and location of the virtual toolbar 600.

[0044] Where the existing electronic message program is any of the various versions of Microsoft® Outlook Express®, such reconfiguration may be accomplished in a slightly different manner, since Outlook Express® does not readily provide for add-on programming, particularly third-party add-ons by a different manufacturer. In this case, a standard announced by Microsoft® called hooking may be employed. The standard includes programming “hooks” that allows detection of window events and process crossings initiated by the electronic message program and further allows redirecting native commands to new code. When a new window-creating event for the Outlook Express® program is detected by the plug-in code 208, a bootstrapping of the new code corresponding to the virtual toolbar 600 and virtual buttons 602 is inserted into the event for providing the virtual toolbar 600 and virtual buttons 602 within the main window 400 and the message window message 500. Such bootstrapping may be accomplished using known sub-classing techniques for planting new code in the electronic message program as described above.

[0045] Similar techniques can be employed for other existing electronic mail messaging programs, such as LotusNotes® by IBM Corporation®. Use of such similar techniques will be largely dependent on the methods of interacting with native programming instructions provided by such programs' manufacturers.

[0046] Returning to process 300, after step 304 above, the user may open or initiate the electronic message program, which now includes the virtual toolbar 600, and selects a virtual button 602 from the virtual toolbar 600 that corresponds to particular content, or categories of content, for insertion into an electronic message (step 306). The virtual buttons may include a brief description of a category of content associated with the virtual button 602. Such title on the virtual button may be changed from time to time by the content server 102, and in certain embodiments, without initiation of any commands by the user. Such selection may be performed by a user on user terminal 104 by placing a display cursor over the virtual button 602 and depressing a key on a computer mouse. Upon selection of the virtual button 602, the installed plug-in retrieves a listing of content associated with selected button from content server 102 and displays the available selections to the user (step 308). The displayed listing(s) may be retrieved by the installed plug-in by accessing a web page or the like of the content server 102 over the computer network 100. The web page may contain hypertext links or the like to network address of data files containing the selected content for display to the user in a generated electronic message.

[0047] In certain embodiments, the listing may be displayed to the user in a separate content window 700, as shown in FIG. 7. The separate content window 700 may be generated using hyper-text mark-up language (HTML) commands, JAVASCRIPT commands, or the like. The separate content window 700 may include one or more categories (i.e. background art, holiday-themed formats, humor, animations, and business-formatted content) and subcategories (i.e. animal images, nature images, and the like) of available content. Thumbnail images of the content may be displayed in the content window 700. There may also be commands available that allow a user to select particular content as default content for a future electronic message. As mentioned previously, since the content window 700 may contain links to pages of content available on content server 102, and since the data files containing the content may reside exclusively on the content server 102, the content server 102 may update its own pages of content without having to further reconfigure the native programming code of the existing message program or the installed plug-in code. In addition, the amount of stored content is, thus only limited to the available memory space in content server 102, rather than the typically more limited amount of memory space in a user terminal 104. Alternatively, users may store available content locally on their user terminal 104 or may even upload additional content to the content server 102 for later access by the user and/or additional users.

[0048] The content window 700 may also include hypertext links to additional content or tabs corresponding to further listings of available content. An example of the results of a selection by a user of one of the hypertext links or tabs in content window 700 is displayed in FIG. 8, wherein further selections of content may be provided.

[0049] It should be noted that, with respect to step 308, the virtual button 602 may be selected from the main window 400 or the electronic message window 500. In the former case, the selection of the virtual button 602 from the main window 400 may initiate the opening of a new electronic message window 500 and the content window 700 corresponding to the selected virtual button 602, as shown in FIG. 9.

[0050] Returning again to process 300, after the content window 700 is displayed to the user, the user may select desired content for an electronic message from the displayed listing (step 310). The user may also select particular content as default content, if desired from the content window 700. Upon the selection of any type of content, the installed plug-in retrieves the selected content from the corresponding network address on the content server 102, and further inserts the selected content into the electronic message 500 for display to the user (step 312). One example of the results of this step 312 is shown in FIG. 10, wherein selected content 1000 is displayed to the user in the message input field 508 of the electronic message window 500. The user may then input desired text 1100, using a keyboard or the like, into the message input field 508 which may be displayed in conjunction with the selected content 1000, as shown in FIG. 11.

[0051] The manner in which retrieval and display of the selected content 1000 is accomplished is dependent upon the type of existing electronic message program in use. Reference is now made to an IHTMLDomDocument (or inspector HTML) interface published by Microsoft®, which is necessary for its electronic message programs to read and edit HTML-based content and is utilized in accordance with various embodiments of the present disclosure.

[0052] Where the electronic message program maintained by a user is Outlook®, the plug-in code described herein may retrieve a current active Inspector (or mail window) object in accordance with the above-mentioned published interface. This object has an established function called GetDocument, which provides the necessary inspector HTML Dom Document. Where the electronic message program is Outlook Express®, the installed plug-in code retrieves HTML content by providing appropriate processing instructions via a document container, in accordance with the accessibility software module provided for that program. In either case, the retrieved HTML content may provide both the accessible content and the virtual tool bar 600 of the present disclosure within the user's electronic message program.

[0053] Insertion of the selected content 1000 into an electronic message is accomplished using a mail editing module that is commonly provided to Outlook® and Outlook Express®. The IHTMLDomDocument interface enables the installed plug-in code to construct the HTML content within the message input field 508. The user may add desired text 1100 in any standard manner, in accordance with the native processing instructions provided by the electronic message program.

[0054] Finally, returning to process 300, the user may transmit the electronic message to a second user on a second user terminal 104 (step 314), after which the process 300 ends. Since some data files of content may be large in size, it may be desirable, in certain embodiments, to limit the size of the message transmitted in step 314. This can be accomplished, in various embodiments, by transmitting an embedded call to the selected content on the content server 102, rather than including the data file of the content itself. Upon opening the electronic message, the second user may open the received message, after which the embedded call is activated, and the selected content 1000 is uploaded for display to the selected user, along with any desired text 1100 in the received electronic message. Since the call is embedded in the electronic message by the user on the first user terminal 104, it should be readily appreciated the second user need not install the plug-in code 208 to view the content in the received message. It should also be readily appreciated that once a user installs the plug-in code 208, it is not necessary to re-install the plug-in code 208 for each successive electronic message generated. That is, steps 302 and 304 may be omitted when content is to be inserted in future electronic messages after the plug-in installation has been completed.

[0055] In various embodiments of the present disclosure, a content provider operating content server 102 may be able to raise revenue from a group of users using the processes described above. The revenue may be generated via advertising presented to the user during any of the steps of process 300. A plethora of methods for accomplishing the presentation of advertising is well known in the context of public computer networks, all of which are contemplated to be within the scope of the present disclosure. In addition, advertising revenue can be had by providing additional plug-ins to other types of computer programs, such as web browsers, along with the plug-in for the electronic message program described above. Advertising may then be displayed upon use of such other plug-ins by the user. Such additional program plug-ins are described in co-pending U.S. patent application Ser. No. 09/864,551 entitled SYSTEM AND METHOD FOR THE DYNAMIC IMPROVEMENT OF INTERNET BROWSER NAVIGABILITY filed in the name of Dobronsky et al. on May 23, 2001 which is a continuation in part of co-pending U.S. patent application Ser. No. 09/373,815 entitled SYSTEM AND METHOD FOR THE DYNAMIC IMPROVEMENT OF INTERNET BROWSER APPEARANCE AND CONNECTIVITY filed in the name of Dobronsky et al. on Aug. 13, 1999, each of which are incorporated herein by reference. In addition to, or in conjunction with advertising, a content provider may also generate revenue by charging subscription fees to users wishing to access the content.

[0056] Revenue may also be generated by providing design services to users for generating customized content that is accessible to a particular user or group of users paying for such services. For example, one contemplated feature of the present disclosure is providing business-formatted content for insertion into an electronic message. General business-formatted content can be provided to all users. However, customized business message formats and associated designs may be developed by the content provider specifically for a single business entity, in exchange for a fee. Installation and updating of customized message formats may be accomplished in a similar manner to those described above, or in any other useful manner. The developed content may include corporate logos, trademarks, company information, general corporate contact information, stationary designs, business card designs for particular employees and agents of the business entity, promotional materials, advertising and particular formats for internal and external electronic messages, including pre-formatted locations for desired text 100 inputted by the business entity or its agents. An example of customized business-formatted content is shown in FIG. 12, including custom developed content 1200, pre-formatted text 1202 and pre-formatted location for inserting desired text 1100.

[0057] In other additional embodiments of the present disclosure, the installed plug-in code may further include processing instructions allowing for the attributes of the virtual toolbar 600 and virtual buttons 602 to be changed by accessing new formats and attributes automatically from the content server 102 whenever a user's reconfigured electronic message program is initiated. In this manner, it is not necessary for a user to perform any steps to receive updates to the installed plug-in code. In a particular embodiment, no user action is required in order for them to receive updates to either accessible content or the virtual menu bar including the virtual buttons. For example, where a virtual button is identified as having content associated with an upcoming holiday, once that holiday passes and a new holiday is approaching, the content server 102 may automatically access and change the name of the button when the electronic message program is open. The web page of associated content maintained by the content server may likewise be updated to include different content dedicated to the upcoming holiday without user interaction.

[0058] Nothing described herein or shown in the figures should be construed to limit the scope and attributes of content available for insertion into electronic messages via the processes described herein. Although the invention has been described in detail in the foregoing embodiments, it is to be understood that the descriptions have been provided for purposes of illustration only and that other variations both in form and detail can be made thereupon by those skilled in the art without departing from the spirit and scope of the invention, which is defined solely by the appended claims. 

What is claimed is:
 1. A method for customizing electronic messages, comprising: providing a plug-in to an electronic message program; executing programming instructions from the plug-in to generate a virtual toolbar, independent of a native toolbar of the electronic message program, for display within the electronic message program, the virtual toolbar including at least one virtual button for selecting content for inclusion in an electronic message.
 2. The method of claim 1, said virtual toolbar disposed separately between the native toolbar and a message input field of the electronic message program.
 3. The method of claim 1, said virtual toolbar disposed separately between the native toolbar and a received massage pane of the electronic message program.
 4. The method of claim 1, said providing a plug-in further comprising: providing the plug-in for download from a content server over a computer network.
 5. The method of claim 1, said providing a plug-in further comprising: downloading the plug-in from a content server over a computer network.
 6. The method of claim 1, said executing program instructions further comprising: providing at least one automatically executable instruction with the plug-in for associating the plug-in with the electronic message program.
 7. The method of claim 6, said at least one automatically executable instruction including at least one of a hooking instruction and a bootstrapping instruction.
 8. The method of claim 6, said at least one automatically executable instruction for inserting a programming call by the electronic message program for the virtual toolbar from the plug-in.
 9. The method of claim 1, said at least one virtual button for implementing a programming instruction, responsive to a selection of the virtual button, for displaying said content.
 10. The method of claim 1, said at least one virtual button being associated with a category of available content.
 11. The method of claim 10, said category of available content including, without limitation, one of the following: holiday-themed content, visual images, animations, audio content, audio/visual content, and business-formatted content.
 12. The method of claim 11, said business-formatted content comprising at least one of content and formatting for internal electronic messages of a business entity, and content and formatting for external electronic messages of a business entity.
 13. The method of claim 11, said business-formatted content comprising a customized format for electronic messages accessible only by a single business entity.
 14. The method of claim 10, said category of available content being available to a plurality of independent users.
 15. The method of claim 10, said category of available content including a plurality of sub-categories of available content.
 16. The method of claim 1, wherein the electronic message program and the plug-in are installed separately by a user.
 17. The method of claim 1, wherein the electronic message program and the plug-in are developed by separate manufacturers.
 18. The method of claim 1, wherein at least a portion of the content is stored by a content server.
 19. The method of claim 18, further comprising updating content available to a plurality of users without updating the plug-in or the electronic message programs stored by the plurality of users.
 20. The method of claim 1, further comprising: receiving a selection of a virtual button from a user terminal; and transmitting a plurality of selectable content associated with the virtual button for display to the user.
 21. The method of claim 20, further comprising: receiving a selection of one of said plurality of selectable content as default content for inclusion in a new electronic message generated by a particular user terminal.
 22. The method of claim 21, further comprising: storing the selection as the default content for the particular user terminal.
 23. The method of claim 1, wherein the electronic message program is an electronic mail (e-mail) message program and the electronic message is an e-mail message.
 24. The method of claim 1, wherein the plug-in is provided without charge to a plurality of users.
 25. The method of claim 24, further comprising: transmitting at least one advertisement for display to the user after said executing.
 26. The method of claim 1, wherein the plug-in is provided to a user after a receipt of payment from the user.
 27. The method of claim 1, wherein the content is provided without charge to a plurality of users.
 28. The method of claim 1, wherein the content is provided to a user after a receipt of payment from the user.
 29. The method of claim 1, wherein the content is customized for a particular group of users after a receipt of payment from the group.
 30. A computer-readable medium encoded with processing instructions for implementing a method, performed by a computer, for customizing electronic messages, the method comprising: providing a plug-in to an electronic message program; executing programming instructions from the plug-in to generate a virtual toolbar, independent of a native toolbar of the electronic message program, for display within the electronic message program, the virtual toolbar including at least one virtual button for selecting content for inclusion in an electronic message.
 31. An apparatus for customizing electronic messages, comprising: means for providing a plug-in to an electronic message program, means for executing programming instructions from the plug-in to generate a virtual toolbar, independent of a native toolbar of the electronic message program, for display within the electronic message program, the virtual toolbar including at least one virtual button for selecting content for inclusion in an electronic message.
 32. An apparatus for customizing electronic messages, comprising: a processor; and a memory in communication with the processor, the memory for storing a plurality of processing instructions directing the processor to: install a plug-in to an electronic message program; and execute programming instructions from the plug-in to generate a virtual toolbar, independent of a native toolbar of the electronic message program, for display within the electronic message program, the virtual toolbar including at least one virtual button for selecting content for inclusion in an electronic message.
 33. A method for allowing customization of electronic mail messages, comprising: providing executable programming code for including a virtual toolbar in an electronic message program of a user terminal, the executable programming code for displaying the virtual toolbar within a window of the electronic message program, separate from a native toolbar; and receiving, from a user, a selection of a virtual button of the virtual toolbar, the selected virtual button associated with selectable content for inclusion in an electronic message generated by the user from the electronic message program.
 34. The method of claim 33, further comprising: transmitting a plurality of selectable content corresponding to the virtual button, in response to said receiving.
 35. The method of claim 34, wherein the selectable content is displayed in a separate window to a user.
 36. The method of claim 34, wherein at least a portion of the selectable content is stored at a content server.
 37. The method of claim 34, further comprising: updating the selectable content at a content server, without updating the plug-in and the electronic message program.
 38. The method of claim 34, wherein the virtual button comprises a link to a network address of a content server, the network address corresponding to a location of stored selectable content.
 39. The method of claim 38, wherein the virtual button is displayed to a user with an indication of a category of selectable content.
 40. The method of claim 39, wherein the indication of the category may be changed by the content server.
 41. The method of claim 34, further comprising receiving a selection of one of the selectable content from the user; and transmitting the selected content for display to the user in a message input field of an electronic message.
 42. The method of claim 41, further comprising: embedding a call to the content in the electronic message for transmission to a second user, whereby when the second user opens the electronic message, the content is retrieved from the content server and displayed in the electronic message to the second user.
 43. The method of claim 33, said selectable content including one of the following for association with an electronic message: holiday-themed content, visual images, animations, audio content, audio/visual content, and business-formatted content.
 44. The method of claim 33, wherein said electronic message program is an electronic mail (e-mail) message program and the electronic message is an e-mail message.
 45. A computer-readable medium encoded with processing instructions for implementing a method, performed by a computer, for allowing customization of electronic mail messages, the method comprising: providing executable programming code for including a virtual toolbar in an electronic message program of a user terminal, the executable programming code for displaying the virtual toolbar within a window of the electronic message program, separate from a native toolbar; and receiving, from a user, a selection of a virtual button of the virtual toolbar, the selected virtual button associated with selectable content for inclusion in an electronic message generated by the user from the electronic message program.
 46. An apparatus for allowing customization of electronic mail messages, comprising: means for providing executable programming code for including a virtual toolbar in an electronic message program of a user terminal, the executable programming code for displaying the virtual toolbar within a window of the electronic message program, separate from a native toolbar; and means for receiving, from a user, a selection of a virtual button of the virtual toolbar, the selected virtual button associated with selectable content for inclusion in an electronic message generated by the user from the electronic message program.
 47. An apparatus for allowing customization of electronic mail messages, comprising: a processor; and a memory in communication with the processor, the memory for storing a plurality of processing instructions directing the processor to: provide, to a user, a virtual toolbar in an electronic message program of a user terminal, separate from a native toolbar; and receive, from a user, a selection of a virtual button of the virtual toolbar, the selected virtual button associated with selectable content for inclusion in an electronic message generated by the user from the electronic message program.
 48. A method for customizing an electronic mail message, comprising: downloading executable code for providing a virtual toolbar within an electronic message program; opening an electronic message; selecting, from a virtual button on the virtual toolbar, content for inclusion in the electronic message; receiving a display of the selected content within the electronic message; and transmitting the electronic message to a second user, the electronic message including at least one of a call to a network location for the selected content and a data file comprising the selected content transmitted as part of the electronic message. 